from utils.logger import get_logger

logger = get_logger("chatUtils")


def getUserInput(conversations):
    return next((m.get('content') for m in reversed(conversations) if m.get('role') == "user"), "")  # 获取本次用户输入


def convert_userInput_to_formDict(text: str) -> dict:
    """
    转换用户给的表单字符串成为dict

    :param text: 用户输入的表单文本
    :return: 包含所有字段名的字典，字段名作为key，value为空字符串
    """
    # logger.info(f"接收到的字符串内容: {text}")
    # logger.debug(f"字符串长度: {len(text)}")
    try:
        # 分割文本为行
        lines = text.split('\n')
        result_dict = {}

        for line in lines:
            # 检查是否包含冒号（字段分隔符）
            if ':' in line:
                # 分割字段名和值
                field_parts = line.split(':', 1)
                field_name = field_parts[0].strip()
                result_dict[field_name] = field_parts[1]

        return result_dict

    except Exception as e:
        # logger.error(f"处理表单失败: {str(e)}")
        return {"error": f"处理表单失败: {str(e)}"}

def convert_formDict_to_userInput(formDict: dict) -> str:
    """
    将表单字典转换为用户输入的字符串格式

    :param formDict: 包含表单字段的字典
    :return: 用户输入的字符串格式
    """
    # 将字典转换为字符串
    return '\n'.join(f"{key}: {value}" for key, value in formDict.items())


# if __name__ == '__main__':
#     aaa={
#         "达人昵称": "EC7",
#         "达人主页链接": "https://www.xiaohongshu.com/user/profile/5fb755d5000000000101e4c2",
#         "品牌/产品名称": "特步一体成型",
#         "产品品类": "时尚鞋服",
#         "推广周期": "2024-11-01至2024-11-20",
#         "投放形式": "视频报备",
#         "报备图文价格": "无",
#         "报备视频价格": "23000",
#         "是否可以保价到次月": "是",
#         "折扣要求": "24%",
#         "创作方向": "种草",
#         "排竞要求": "前15后15",
#         "寄样方式": "寄拍",
#         "达人鞋服尺码": "鞋35码",
#         "免费展示套数及加价": "不限",
#         "可保阅读数据": "视频保底1万播放",
#         "可保互动数据": "点赞+评论≥400",
#         "是否可以免费授权品牌信息流 6 个月？": "3个月",
#         "是否可以免费授权品牌二剪及全平台传播（包括电商）6 个月？": "可以",
#         "是否可以免费分发其他平台？": "抖音",
#         "是否有特殊合作注意事项？（如广告占比要求、脚本修改次数等）": "无",
#         "是否免费授权电商平台植入 6 个月？": "可以",
#         "是否授权搜索引导6 个月？": "可以",
#         "是否授权带相关话题6 个月？": "可以",
#         "是否授权组件需求6 个月？": "可以",
#         "是否授权引流需求6 个月？": "可以"
#     }
#     print(convert_formDict_to_userInput(aaa), type(convert_formDict_to_userInput(aaa)))
